home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #173 (1992)(Rhein-Sieg-Soft).zip / Franz PD Disk #173 (1992)(Rhein-Sieg-Soft).adf / ak_gen0-Library / Programmers / AK_GEN0_35_21.h next >
C/C++ Source or Header  |  1992-03-23  |  7KB  |  155 lines

  1. /* ************************************************************************ */
  2. /* AK_GEN0_35_21_H                                                          */
  3. /* ************************************************************************ */
  4. /* (c) 1989-92 by Andreas Ralph Kleinert. All rights reserved.              */
  5. /* COMMERCIAL USE IS NOT ALLOWED WITHOUT SPECIAL PERMISSION BY THE AUTHOR ! */
  6. /* ************************************************************************ */
  7. /* Version          : V35.21                                                */
  8. /* Last updated     : 19.03.1992                                            */
  9. /* Compiler         : SAS/C V5.10a/b                                        */
  10. /* Compiler-Options : (MakeFile)                                            */
  11. /* ************************************************************************ */
  12. /* Address          : Andreas Ralph Kleinert                                */
  13. /*                    Grube Hohe Grethe 23                                  */
  14. /*                    W-5900 Siegen 1                                       */
  15. /*                    Germany                                               */
  16. /* ************************************************************************ */
  17.  
  18. #ifndef AK_GEN0_35_21_H
  19. #define AK_GEN0_35_21_H
  20.  
  21. #define AK_GEN0_VERSION (35)
  22. #define AK_GEN0_REVISION (21)
  23.  
  24. #include <intuition/intuitionbase.h>
  25. #include <exec/memory.h>
  26. #include <graphics/gfxbase.h>
  27. #include <stdio.h>
  28. #include <libraries/dos.h>
  29.  
  30. /* Defines */
  31.  
  32. #define N (NULL)
  33. #define FIRST_SCREEN   ( (struct Screen *) IntuitionBase->FirstScreen )
  34. #define CURRENT_WINDOW ( (struct Window *) IntuitionBase->ActiveWindow )
  35. #define CURRENT_SCREEN ( (struct Screen *) IntuitionBase->ActiveScreen )
  36. #define CURRENT_MOUSEX ( CURRENT_WINDOW->MouseX )
  37. #define CURRENT_MOUSEY ( CURRENT_WINDOW->MouseY )
  38. #define NEWWINDOW (sizeof(struct NewWindow))
  39. #define WINDOW (sizeof(struct Window))
  40. #define BORDER (sizeof(struct Border))
  41. #define MENU (sizeof(struct Menu))
  42. #define GADGET (sizeof(struct Gadget))
  43. #define ITEXT (sizeof(struct IntuiText))
  44. #define ITEM (sizeof(struct MenuItem))
  45. #define SUBITEM ITEM
  46. #define STRINGINFO (sizeof(struct StringInfo))
  47. #define REQUESTER (sizeof(struct Requester))
  48. #define PROPINFO (sizeof(struct PropInfo))
  49. #define ALERT (sizeof(struct AlertData))
  50. #define NEWSCREEN (sizeof(struct NewScreen))
  51.  
  52. /* Constants (subject to change in future ?) */
  53.  
  54. #define AK_FILEREQ_STRING_LEN (256)
  55.  
  56. /* Library-Bases */
  57.  
  58. struct IntuitionBase *IntuitionBase = N;
  59. struct GfxBase       *GfxBase       = N;
  60. struct AKBase        *AKBase        = N;
  61. struct LayersBase    *LayersBase    = N;
  62.  
  63. /* MACROs */
  64.  
  65. #define SET_MAX (WindowLimits(CURRENT_WINDOW, 0, 0, 640, 256))
  66.  
  67. #define MEN MENUNUM(im->Code)
  68. #define ITN ITEMNUM(im->Code)
  69. #define STN SUBNUM(im->Code)
  70.  
  71. #define MEN_2 MENUNUM(im_2->Code)
  72. #define ITN_2 ITEMNUM(im_2->Code)
  73. #define STN_2 SUBNUM(im_2->Code)
  74.  
  75. #define xMEN(x) MENUNUM(x->Code)
  76. #define xITN(x) ITEMNUM(x->Code)
  77. #define xSTN(x) SUBNUM(x->Code)
  78.  
  79. /* Standard-Values */
  80.  
  81.  /* If you want to use the above Macros, you have to use the following */
  82.  /* variables :                                                        */
  83.  
  84. struct IntuiMessage *im             = N; /* First Window  */
  85. struct Window       *w              = N;
  86.  
  87. struct IntuiMessage *im_2           = N; /* Second Window */
  88. struct Window       *w_2            = N;
  89.  
  90. /* Declarations */
  91.  
  92. extern struct Screen * __saveds AK_Screen(long l, long t, long w, long h, long d,
  93.                                   long dp, long bp, long vm, long ty,
  94.                                   struct TextAttr *f, char *title, 
  95.                                   struct BitMap *cbm);
  96.  
  97. extern struct Window * __saveds AK_Window(long l, long t, long w, long h, long d,
  98.                                   long b, long idcmp, long flags,
  99.                                   struct Gadget *fg, struct Image *cm,
  100.                                   char *title, struct Screen *screen,
  101.                                   struct BitMap *bm, long minw, long minh,
  102.                                   long maxw, long maxh, long type);
  103.  
  104. extern struct Menu * __saveds AK_Menu(struct Menu *next, long l, long w, long flags,
  105.                               char *name, struct MenuItem *item);
  106.  
  107. extern struct MenuItem * __saveds AK_MenuItem(struct MenuItem *next, long t, long w,
  108.                                       long flags, long me, APTR itfi, 
  109.                                       APTR sefi, long scut,
  110.                                       struct MenuItem * subi);
  111.  
  112. extern struct MenuItem * __saveds AK_SubItem(struct MenuItem *next, long l, long t,
  113.                                      long w, long flags, long me, APTR itfi,
  114.                                      APTR sefi, long scut,
  115.                                      struct MenuItem *subi);
  116.  
  117. extern struct Gadget * __saveds AK_Gadget(struct Gadget *next, long l, long t, long w,
  118.                                   long h, long flags, long act, long type,
  119.                                   APTR gadr, APTR selr, struct IntuiText *text,
  120.                                   APTR sp, long id);
  121.  
  122. extern struct StringInfo * __saveds AK_StringInfo(long groesse, long maximum, 
  123.                                           struct KeyMap *km);
  124.  
  125. extern struct Border * __saveds AK_Border(long l, long t, long f, long b, long d,
  126.                                    long c, SHORT *xy, struct Border *next);
  127.  
  128. extern struct IntuiText * __saveds AK_IText(long f, long b, long d, long l, long t,
  129.                                      struct TextAttr *font, char *text,
  130.                                      struct IntuiText *next);
  131.  
  132. extern void   __saveds AK_GfxPrint(struct Window *w, char *text, long x, long y);
  133.  
  134. extern void   __saveds AK_IntuiPrint(struct Window *w, char *text, long x, long y);
  135.  
  136. extern void   __saveds AK_RefreshDisp(struct Screen *sc, struct Window *w);
  137.  
  138. extern long   __saveds AK_AutoRequester(struct Window *w, char *obertext, char *jatext,
  139.                               char *neintext);
  140.  
  141. extern long   __saveds AK_Alert(char *text, long height);
  142.  
  143. char * __saveds AK_FileRequest(long xpos, long ypos, struct Screen *fscreen,
  144.                                struct Window *fwindow, long ftype);
  145.  
  146. extern long   __saveds AK_ReadDir(char *pathname, char **direntry, long *dirtype);
  147.  
  148. extern void   __saveds AK_WaitKey(long rawcode);
  149.  
  150. extern void   __saveds AK_WaitLeft(void);
  151.  
  152. extern long   __saveds AK_GetNum(long min, long max);
  153.  
  154. #endif AK_GEN0_35_21_H
  155.